home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 48 / Amiga Format CD48 (1999-12-13)(Future Publishing)(GB)(Track 1 of 2)[!][issue 2000-01].iso / -serious- / programming / mui / mcc_transferanim / developer / autodocs / mcc_transferanim.doc
Text File  |  1999-11-01  |  13KB  |  482 lines

  1. TABLE OF CONTENTS
  2.  
  3. TransferAnim.mcc/TransferAnim.mcc
  4. TransferAnim.mcc/MUIA_TransferAnim_BitMap
  5. TransferAnim.mcc/MUIA_TransferAnim_BoingBall
  6. TransferAnim.mcc/MUIA_TransferAnim_Changes
  7. TransferAnim.mcc/MUIA_TransferAnim_DefObjHeight
  8. TransferAnim.mcc/MUIA_TransferAnim_DefObjWidth
  9. TransferAnim.mcc/MUIA_TransferAnim_Delay
  10. TransferAnim.mcc/MUIA_TransferAnim_Depth
  11. TransferAnim.mcc/MUIA_TransferAnim_DisabledFrame
  12. TransferAnim.mcc/MUIA_TransferAnim_DTObj
  13. TransferAnim.mcc/MUIA_TransferAnim_Error
  14. TransferAnim.mcc/MUIA_TransferAnim_File
  15. TransferAnim.mcc/MUIA_TransferAnim_FPS
  16. TransferAnim.mcc/MUIA_TransferAnim_Frame
  17. TransferAnim.mcc/MUIA_TransferAnim_Frames
  18. TransferAnim.mcc/MUIA_TransferAnim_Height
  19. TransferAnim.mcc/MUIA_TransferAnim_MaxWidth
  20. TransferAnim.mcc/MUIA_TransferAnim_Millis
  21. TransferAnim.mcc/MUIA_TransferAnim_NoAnim
  22. TransferAnim.mcc/MUIA_TransferAnim_NoLoop
  23. TransferAnim.mcc/MUIA_TransferAnim_ObjHeight
  24. TransferAnim.mcc/MUIA_TransferAnim_ObjWidth
  25. TransferAnim.mcc/MUIA_TransferAnim_Precision
  26. TransferAnim.mcc/MUIA_TransferAnim_StartFrame
  27. TransferAnim.mcc/MUIA_TransferAnim_SelectedFrame
  28. TransferAnim.mcc/MUIA_TransferAnim_Width
  29. TransferAnim.mcc/MUIA_TransferAnim_ViewMode
  30. TransferAnim.mcc/MUIM_TransferAnim_NoEvent
  31. TransferAnim.mcc/MUIM_TransferAnim_StarTransferAnim
  32. TransferAnim.mcc/MUIM_TransferAnim_StopAnim
  33.  
  34.  
  35. TransferAnim.mcc/TransferAnim.mcc
  36.  
  37. TransferAnim.mcc is a customclass to display transferanimations (as known from
  38. web-browsers). It supports IBrowse, Voyager and AWeb tooltypes to specify
  39. width, height etc for the animation.
  40. It got support for looping animations, no-loop and delay between loops.
  41. You can specify frames per second, FPS, or how many milliseconds you want
  42. to pass between each frame. Recent versions also supports transparent ani-
  43. mations for easier creation of guis.
  44. It currently makes use ImagePool.library (included) to load, remap and cache
  45. the animations. If you use the same animation more than once in your program
  46. or if more than one program uses the same animations, the animation only needs
  47. to be loaded and remapped once, which will save some cpu and some memory.
  48.  
  49. I'm open for suggestions and would love to hear your comments!
  50.  
  51. To contact the author write to:
  52.     
  53.     Linus McCabe
  54.     Rogsholmsv 6
  55.     515 32 Viskafors
  56.  
  57.     Sparkle@hehe.com
  58.     sparkle.amiga.tm
  59.  
  60. TransferAnim.mcc/MUIA_TransferAnim_BitMap
  61.  
  62.     NAME
  63.         MUIA_TransferAnim_BitMap -- [..G], struct BitMap *
  64.  
  65.     FUNCTION
  66.  
  67.         This tag will hold the pointer to the bitmap containing the frames.
  68.  
  69. TransferAnim.mcc/MUIA_TransferAnim_BoingBall
  70.  
  71.     NAME
  72.         MUIA_TransferAnim_BoingBall -- [I..], BOOL
  73.  
  74.     FUNCTION
  75.  
  76.         By setting this attribute to TRUE during creation, you'll get the
  77.         internal boingball animation (which is also used if no animation or
  78.         default animation is specified or loadable).
  79.  
  80. TransferAnim.mcc/MUIA_TransferAnim_Changes
  81.  
  82.     NAME
  83.         MUIA_TransferAnim_Changes -- [I..], BOOL
  84.  
  85.     FUNCTION
  86.  
  87.         When this attribute is set to FALSE, the animation will continue
  88.         to go even if the object is selected (when having an inputmode)
  89.         or disabled.
  90.         If it is set to TRUE, the animation will show the frames specified
  91.         by MUIA_TransferAnim_DisabledFrame and MUIA_TransferAnim_SelectedFrame when dis-
  92.         abled or selected.
  93.  
  94.     SEE ALSO
  95.  
  96.         MUIA_TransferAnim_DisabledFrame, MUIA_TransferAnim_SelectedFrame
  97.  
  98. TransferAnim.mcc/MUIA_TransferAnim_DefObjHeight
  99.  
  100.     NAME
  101.         MUIA_TransferAnim_DefObjHeight -- [I..], long
  102.  
  103.     FUNCTION
  104.  
  105.         Specifies the wished default height of the animationobject when using
  106.         MUIV_TransferAnim_Scale or MUIV_TransferAnim_Repeat.
  107.  
  108.     SEE ALSO
  109.  
  110.         MUIA_TransferAnim_DefObjWidth, MUIA_TransferAnim_ObjHeight, MUIA_TransferAnim_ObjWidth 
  111.  
  112. TransferAnim.mcc/MUIA_TransferAnim_DefObjWidth
  113.  
  114.     NAME
  115.         MUIA_TransferAnim_DefObjWidth -- [I..], long
  116.  
  117.     FUNCTION
  118.  
  119.         Specifies the wished default width of the animationobject when using
  120.         MUIV_TransferAnim_Scale or MUIV_TransferAnim_Repeat.
  121.  
  122.     SEE ALSO
  123.  
  124.         MUIA_TransferAnim_DefObjHeight, MUIA_TransferAnim_ObjHeight, MUIA_TransferAnim_ObjWidth 
  125.  
  126. TransferAnim.mcc/MUIA_TransferAnim_Delay
  127.  
  128.     NAME
  129.         MUIA_TransferAnim_Delay -- [ISG], int
  130.  
  131.     FUNCTION
  132.  
  133.         This attribute specifies the time (in milliseconds) that the anim-
  134.         ation is held before restarting (when it is set to loop). 
  135.         Defaults to no delay.
  136.  
  137. TransferAnim.mcc/MUIA_TransferAnim_Depth
  138.  
  139.     NAME
  140.         MUIA_TransferAnim_Depth -- [..G], long
  141.  
  142.     FUNCTION
  143.     
  144.         Holds the depth of the animation bitmap.
  145.  
  146. TransferAnim.mcc/MUIA_TransferAnim_DisabledFrame
  147.  
  148.     NAME
  149.         MUIA_TransferAnim_DisabledFrame -- [IS.], long
  150.  
  151.     FUNCTION
  152.  
  153.         This attribute specifies which frame to show when the object is set
  154.         to disabled.
  155.         This has no effect unless MUIA_TransferAnim_Changes is set to TRUE (default).
  156.         If MUIA_TransferAnim_Changes is set to FALSE, the animation will continue to
  157.         display as usual, even if disabled.
  158.  
  159. TransferAnim.mcc/MUIA_TransferAnim_DTObj
  160.  
  161.     NAME
  162.         MUIA_TransferAnim_DTObj -- [..G], APTR
  163.  
  164.     FUNCTION
  165.  
  166.         This attribute holds a pointer to the datatype object, if availible.
  167.  
  168. TransferAnim.mcc/MUIA_TransferAnim_Error
  169.  
  170.     NAME
  171.         MUIA_TransferAnim_Error -- [..G], LONG
  172.  
  173.     FUNCTION
  174.  
  175.         This attribute holds a possible error condition, if something went wrong.
  176.         The class will not fail, but might behave differently.
  177.  
  178.         Possible error codes atm are:
  179.  
  180.         ERROR_OBJECT_NOT_FOUND,     the file was not found.
  181.         DTERROR_INVALID_DATA    ,         the file was not an image.
  182.  
  183.         In the first case, the object might show the prefered default animation (if it 
  184.         works ok) otherwise it will try to show the internal boingball animation.
  185.  
  186. TransferAnim.mcc/MUIA_TransferAnim_File
  187.  
  188.     NAME
  189.         MUIA_TransferAnim_File -- [ISG], char *
  190.  
  191.     FUNCTION
  192.  
  193.         This tag holds the filename of the animation you wish to display.
  194.         If you set this attribute after creation, no result will be seen
  195.         until the object go throught a new setup, ie, if it's parent group
  196.         is set to Init & ExitChange.
  197.  
  198.         Display information, like number of frames, framewidth, frameheight
  199.         etc, will be taken from the file's icon.
  200.  
  201.         Recognized tooltypes are:
  202.  
  203.         SIZE            =x,y    -    the framesize is x by y pixels.     (AWeb)
  204.         FRAMEWIDTH    =x        -    framewidth is x pixels                (Voyager)
  205.         WIDTH            =x        -    framewidth is x pixels                (IBrowse)
  206.         HEIGHT        =y        -    frameheight in pixels
  207.         FIRST            =x,y    -    coordinates for the first frame    (AWeb)
  208.         DELTA            =x,y    -    how many pixels to move in x &
  209.                                     y direction between frames            (AWeb)
  210.         
  211.         Tooltypes that are not recognized by browsers (afaik)
  212.     
  213.         FPS            =fps    -    How many frames per second the
  214.                                     animation will be dispalyed by.
  215.         SELECTED        =f        -    What frame to show when the animation
  216.                                     is selected (if it has inputmode)
  217.         DISABLED        =f        -    What frame to show when the animation
  218.                                     object is disabled.
  219.  
  220.         Selected and disabled will only take place if the MUIA_TransferAnim_Changes
  221.         is set to true.
  222.  
  223.     EXAMPLE
  224.  
  225.         TransferAnimObj=TransferAnimObject,
  226.                         MUIA_TransferAnim_File, "data:anims/cat_anim.jpg",
  227.                     End;
  228.  
  229. TransferAnim.mcc/MUIA_TransferAnim_FPS
  230.  
  231.     NAME
  232.         MUIA_TransferAnim_FPS -- [ISG], long
  233.  
  234.     FUNCTION
  235.  
  236.         This attribute specifies how many frames per second of the animation
  237.         will be displayed.
  238.         Defaults to 24.
  239.  
  240.     SEE ALSO 
  241.  
  242.         MUIA_TransferAnim_Millis
  243.  
  244. TransferAnim.mcc/MUIA_TransferAnim_Frame
  245.  
  246.     NAME
  247.         MUIA_TransferAnim_Frame -- [ISG], long
  248.  
  249.     FUNCTION
  250.     
  251.         This attribute holds the currently shown frame.
  252.         You can manually set this attribute to control you animation.
  253.         Probably makes most sence for non playing animations.
  254.  
  255. TransferAnim.mcc/MUIA_TransferAnim_Frames
  256.  
  257.     NAME
  258.         MUIA_TransferAnim_Frames -- [ISG], long
  259.  
  260.     FUNCTION
  261.  
  262.         This attribute specifies how many frames the animation holds.
  263.  
  264. TransferAnim.mcc/MUIA_TransferAnim_Height
  265.  
  266.     NAME
  267.         MUIA_TransferAnim_Height -- [I..], long
  268.  
  269.     FUNCTION
  270.  
  271.         Specifies the height of the animation.
  272.  
  273. TransferAnim.mcc/MUIA_TransferAnim_MaxWidth
  274.  
  275.     NAME
  276.         MUIA_TransferAnim_MaxWidth -- [..G], long
  277.  
  278.     FUNCTION
  279.  
  280.         Holds the width of the entire bitmap.
  281.  
  282. TransferAnim.mcc/MUIA_TransferAnim_Millis
  283.  
  284.     NAME
  285.         MUIA_TransferAnim_Millis -- [ISG], long
  286.  
  287.     FUNCTION
  288.  
  289.         Specifies the delay in microseconds between each frame.
  290.  
  291.     SEE ALSO
  292.  
  293.         MUIA_TransferAnim_FPS
  294.  
  295. TransferAnim.mcc/MUIA_TransferAnim_NoAnim
  296.  
  297.     NAME
  298.         MUIA_TransferAnim_NoAnim -- [ISG], bool
  299.  
  300.     FUNCTION
  301.  
  302.         If this attribute is set to TRUE, the animation wont play.
  303.  
  304. TransferAnim.mcc/MUIA_TransferAnim_NoLoop
  305.  
  306.     NAME
  307.         MUIA_TransferAnim_NoLoop -- [ISG], BOOL
  308.  
  309.     FUNCTION
  310.  
  311.         If this attribute is set, the animation wont loop.
  312.         By setting this attribute, the animation will stop playing
  313.         after the current sequence is done. If you want immediate
  314.         stop, use MUIM_TransferAnim_StopAnim.
  315.  
  316.     SEE ALSO
  317.  
  318.         MUIA_TransferAnim_StopAnim
  319.  
  320. TransferAnim.mcc/MUIA_TransferAnim_ObjHeight
  321.  
  322.     NAME
  323.         MUIA_TransferAnim_ObjHeight -- [I..], long
  324.  
  325.     FUNCTION
  326.  
  327.         Specifies the height of the animationobject when using 
  328.         MUIV_TransferAnim_Scale or MUIV_TransferAnim_Repeat.
  329.         Both min, max and default values will be set to this value;
  330.         If you wish to set only default height, use MUIA_TransferAnim_DefObjHeight.
  331.  
  332.     SEE ALSO
  333.  
  334.         MUIA_TransferAnim_DefObjHeight, MUIA_TransferAnim_ObjWidth, MUIA_TransferAnim_DefObjWidth 
  335.  
  336. TransferAnim.mcc/MUIA_TransferAnim_ObjWidth
  337.  
  338.     NAME
  339.         MUIA_TransferAnim_ObjWidth -- [I..], long
  340.  
  341.     FUNCTION
  342.  
  343.         Specifies the width of the animationobject when using 
  344.         MUIV_TransferAnim_Scale or MUIV_TransferAnim_Repeat.
  345.         Both min, max and default values will be set to this value;
  346.         If you wish to set only default width, use MUIA_TransferAnim_DefObjWidth.
  347.  
  348.     SEE ALSO
  349.  
  350.         MUIA_TransferAnim_DefObjWidth, MUIA_TransferAnim_ObjHeight, MUIA_TransferAnim_DefObjHeight 
  351.  
  352. TransferAnim.mcc/MUIA_TransferAnim_Precision
  353.  
  354.     NAME
  355.         MUIA_TransferAnim_Precision -- [I..], long
  356.  
  357.     FUNCTION
  358.         
  359.         Set this attribute to your preffered imageremapping precision.
  360.         This will override users preffered setting, so you wont normally
  361.         use this.
  362.  
  363. TransferAnim.mcc/MUIA_TransferAnim_StartFrame
  364.  
  365.     NAME
  366.         MUIA_TransferAnim_StartFrame -- [ISG], long
  367.  
  368.     FUNCTION
  369.  
  370.         This tag holds the first frame in the animation.
  371.         Some animations have their first frame set to a still image (IB??)
  372.         and then you want to skip this frame when looping, which is achieved
  373.         by this attribute.
  374.  
  375. TransferAnim.mcc/MUIA_TransferAnim_SelectedFrame
  376.  
  377.     NAME
  378.         MUIA_TransferAnim_SelectedFrame -- [IS.], long
  379.  
  380.     FUNCTION
  381.  
  382.         If your animation object has an inputmode, this frame is shown when
  383.         the object is selected. (If MUIA_TransferAnim_Changes is set to true)
  384.  
  385.     SEE ALSO
  386.  
  387.         MUIA_TransferAnim_Changes
  388.  
  389. TransferAnim.mcc/MUIA_TransferAnim_Width
  390.  
  391.     NAME
  392.         MUIA_TransferAnim_Width -- [I.G], long
  393.  
  394.     FUNCTION
  395.  
  396.         Specifies the width of each frame in the animation.
  397.  
  398.     SEE ALSO
  399.  
  400.         MUIA_TransferAnim_Height, MUIA_TransferAnim_MaxWidth
  401.  
  402. TransferAnim.mcc/MUIA_TransferAnim_ViewMode
  403.  
  404.     NAME
  405.         MUIA_TransferAnim_ViewMode -- [ISG], long
  406.  
  407.     FUNCTION
  408.  
  409.         This attribute can currently be set to three different values,
  410.  
  411.         MUIV_TransferAnim_Normal    (default)
  412.         MUIV_TransferAnim_Scale
  413.         MUIV_TransferAnim_Repeat
  414.  
  415.         Normal mode, the animatino is displayd normally with it's original width
  416.         and height.
  417.  
  418.         Scale mode, the animation is scaled to fit the objects size. In this mode
  419.         the objects minimum size will be 5×5 pixel, preffered size the animations
  420.         original size and maximum size is 30k×30x (aprox) pixels.
  421.  
  422.         Repeat mode, the animation repeats in a pattern to fill the objects entire
  423.         space. Minimum size is the animations original size, preffered size is four
  424.         times original size and maximum is 30k×30k pixels.
  425.  
  426.         Changing this attribute is best done when it's parent window is closed or
  427.         it's parent group is within a MUIM_Group_InitChange and MUIM_Group_ExitChange.
  428.  
  429.     NOTES
  430.  
  431.         It might take a lot of cpu time to use the scale and repeat function in anim-
  432.         ation mode.
  433.  
  434. TransferAnim.mcc/MUIM_TransferAnim_NoEvent
  435.  
  436.     NAME
  437.         MUIM_TransferAnim_NoEvent
  438.  
  439.     SYNOPSIS
  440.         DoMethod(obj, MUIM_TransferAnim_NoEvent);
  441.  
  442.     FUNCTION
  443.  
  444.         ** Private **
  445.  
  446.         This is a private function and not meant for external use. However, if you
  447.         feel experimental, you can try it out, but I doubt you'll find any use for
  448.         it.
  449.  
  450. TransferAnim.mcc/MUIM_TransferAnim_StarTransferAnim
  451.  
  452.     NAME
  453.         MUIM_TransferAnim_StarTransferAnim
  454.  
  455.     SYNOPSIS
  456.         DoMethod(obj, MUIM_TransferAnim_StarTransferAnim);
  457.  
  458.     FUNCTION
  459.  
  460.         Starts playing the animation if paused. If the animation is already running,
  461.         nothing will happen.
  462.  
  463.     SEE ALSO
  464.  
  465.         MUIM_TransferAnim_StopAnim
  466.  
  467. TransferAnim.mcc/MUIM_TransferAnim_StopAnim
  468.  
  469.     NAME
  470.         MUIM_TransferAnim_StopAnim
  471.  
  472.     SYNOPSIS
  473.         DoMethod(obj, MUIM_TransferAnim_StopAnim);
  474.  
  475.     FUNCTION
  476.  
  477.         Stops the animation from playing.
  478.  
  479.     SEE ALSO
  480.  
  481.         MUIM_TransferAnim_StarTransferAnim
  482.